{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "using PySyntax\n",
    "using PyCall\n",
    "using PyPlot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "@pyimport pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>salary_2000</th>\n",
       "      <th>salary_2020</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>John</td>\n",
       "      <td>100000</td>\n",
       "      <td>200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Jane</td>\n",
       "      <td>120000</td>\n",
       "      <td>240000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Zack</td>\n",
       "      <td>150000</td>\n",
       "      <td>300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Zoey</td>\n",
       "      <td>250000</td>\n",
       "      <td>500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "PyObject    name  salary_2000  salary_2020\n",
       "0  John       100000       200000\n",
       "1  Jane       120000       240000\n",
       "2  Zack       150000       300000\n",
       "3  Zoey       250000       500000"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(\n",
    "    Dict(\n",
    "        \"name\"=>[\"John\", \"Jane\", \"Zack\", \"Zoey\"], \n",
    "        \"salary_2000\"=>[100000, 120000, 150000, 250000],\n",
    "        \"salary_2020\"=>[100000, 120000, 150000, 250000] .* 2\n",
    "        )\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>salary_2000</th>\n",
       "      <th>salary_2020</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>name</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>John</th>\n",
       "      <td>100000</td>\n",
       "      <td>200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jane</th>\n",
       "      <td>120000</td>\n",
       "      <td>240000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Zack</th>\n",
       "      <td>150000</td>\n",
       "      <td>300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Zoey</th>\n",
       "      <td>250000</td>\n",
       "      <td>500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "PyObject       salary_2000  salary_2020\n",
       "name                          \n",
       "John       100000       200000\n",
       "Jane       120000       240000\n",
       "Zack       150000       300000\n",
       "Zoey       250000       500000"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@py df = df.set_index(\"name\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>salary_2000</th>\n",
       "      <th>salary_2020</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>name</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>John</th>\n",
       "      <td>100000</td>\n",
       "      <td>200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jane</th>\n",
       "      <td>120000</td>\n",
       "      <td>240000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "PyObject       salary_2000  salary_2020\n",
       "name                          \n",
       "John       100000       200000\n",
       "Jane       120000       240000"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@py df[\"John\":\"Jane\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHJCAYAAABg0/b8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XtcFnXe//E3iKCiXHgIkU2RihQ8YKkhaYdVBIXaSGtTuZUU9V4XKjUPeasE1WZZeaCDppXkpmF2MMW0WA9wJ4iGh5TUVdOwRcBCuBR/gsD1+6PhurtSCzxdCq/n43E9kpnPNfOZayZ5O/O9ZhwsFotFAAAAkKO9GwAAALheEIwAAAAMBCMAAAADwQgAAMBAMAIAADAQjAAAAAwEIwAAAAPBCAAAwEAwAgAAMBCMAAAADAQjAAAAg5O9G7jeVVVVKS8vT82aNZODg4O92wEAADVgsVh06tQpeXl5ydGx5ueBCEZ/IC8vT23btrV3GwAA4BIcO3ZMN998c43rCUZ/oFmzZpJ++WDd3Nzs3A0AAKgJs9mstm3bWn+P1xTB6A9UXz5zc3MjGAEAcIOp7TAYBl8DAAAYCEYAAAAGghEAAICBMUZXSGVlpc6dO2fvNnAdaNiwoRo0aGDvNgAAl4BgdJksFovy8/NVXFxs71ZwHXF3d5enpyf3vgKAGwzB6DJVhyIPDw81adKEX4T1nMVi0ZkzZ1RYWChJatOmjZ07AgDUBsHoMlRWVlpDUcuWLe3dDq4TjRs3liQVFhbKw8ODy2oAcANh8PVlqB5T1KRJEzt3gutN9THBuDMAuLEQjK4ALp/htzgmAODGRDACAAAwEIxQaw4ODlq1apW92wAA4Iqr1eDr+Ph4JSQk2Ezr0KGD9u/fL+mXb+Q8++yzWrx4sYqLi9W7d28tWLBAvr6+1vqzZ8/q6aefVnJyssrKyhQaGqq33npLrVu3ttYUFRXpiSee0Jo1a+To6KjBgwdr/vz5atq0qbUmNzdX48aN06ZNm9S0aVNFRUVp1qxZcnL6v0369ttvFRMTo+3bt+umm27SE088oSlTptTuE7oE7Z9Ze9XX8WtHXwq/puu7Hnz66adasGCBdu3apbKyMnXq1Enx8fEKDQ21qVu5cqVmzpypo0ePytfXVy+//LLCwsJsat5880298sorys/PV0BAgF5//XXddddd1vk1Oa4BAHVDrc8YderUScePH7e+vv76a+u82bNnKzExUQsXLlRWVpZcXV0VGhqqs2fPWmsmTJigNWvWaOXKlUpLS1NeXp4GDRpks47IyEjl5OQoNTVVKSkpSk9P19ixY63zKysrFR4ervLycmVkZOj9999XUlKS4uLirDVms1khISHy9vZWdna2XnnlFcXHx2vRokW13WRcYeXl5Ze9jPT0dPXv319ffPGFsrOz9ec//1kPPvigdu7caa3JyMjQ0KFDFR0drZ07dyoiIkIRERHau3evtWbFihWaOHGinn32We3YsUMBAQEKDQ21ft1eqtlxDQCoG2odjJycnOTp6Wl9tWrVStIv/6qeN2+eZsyYoYceekhdu3bV0qVLlZeXZ73sUlJSonfffVdz5sxR37591b17dy1ZskQZGRnaunWrJGnfvn1av3693nnnHQUGBqpPnz56/fXXlZycrLy8PEnSV199pe+++04ffPCBunXrpoEDB+r555/Xm2++af2lu2zZMpWXl+u9995Tp06dNGTIED355JOaM2fOFfngbnQff/yxunTposaNG6tly5YKDg5WaWmptm/frv79+6tVq1YymUy67777tGPHjt9d1tSpU3X77berSZMmuuWWWzRz5kybb2PFx8erW7dueuedd+Tj46NGjRpp6dKlatmypcrKymyWFRERoeHDh/9h//PmzdOUKVPUs2dP+fr66sUXX5Svr6/WrFljrZk/f74GDBigyZMny8/PT88//7zuvPNOvfHGG9aaOXPmaMyYMRo5cqT8/f21cOFCNWnSRO+9956kmh3XAIC6o9bB6ODBg/Ly8tItt9yiyMhI5ebmSpKOHDmi/Px8BQcHW2tNJpMCAwOVmZkpScrOzta5c+dsajp27Kh27dpZazIzM+Xu7q4ePXpYa4KDg+Xo6KisrCxrTZcuXWwuv4WGhspsNisnJ8dac++998rZ2dmm5sCBAzp58uRFt6+srExms9nmVdccP35cQ4cO1ahRo7Rv3z5t3rxZgwYNksVi0alTpxQVFaWvv/5aW7dula+vr8LCwnTq1KmLLq9Zs2ZKSkrSd999p/nz52vx4sWaO3euTc2hQ4f0ySef6NNPP9WuXbv06KOPqrKyUqtXr7bWFBYWau3atRo1alStt6mqqkqnTp1SixYtrNMyMzNtjjXpl2Og+lgrLy9Xdna2TY2jo6OCg4OtNTU5rgEAdUetxhgFBgYqKSlJHTp00PHjx5WQkKB77rlHe/fuVX5+viTZhJXqn6vn5efn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TdW6devk7++v119/XR06dNCRI0cUFRWlXbt2af78+crIyNCuXbvUsmXLiw6YzszMVGRkpMLCwpSSkqKdO3dq+vTp59W7urqe99477rhDAQEBWrp0qbKzs5WTk6PHH3+8VtuSnJys0aNH66OPPjrvspmnp6cKCgpsphUUFMjT0/O85cTGxiolJUWbNm3SzTffbLOM6vfVZDkAgBsbwaiecnBwUO/evZWQkKCdO3fK2dlZn332mbZs2aInn3xSYWFh6tSpk1xcXPTTTz9ddDkZGRny9vbW9OnT1aNHD/n6+uqHH36ocR+jR49WUlKSlixZouDgYLVt27bG7/3www81cuRIffjhhwoPDz9vflBQkDZs2GAzLTU1VUFBQdafLRaLYmNj9dlnn2njxo3y8fGxqffx8ZGnp6fNcsxms7KysmyWAwCoG7iUVg9lZWVpw4YNCgkJkYeHh7KysnTixAn5+fnJ19dX//znP9WjRw+ZzWZNnjxZjRs3vuiyfH19lZubq+TkZPXs2VNr167VZ599VuNehg0bpkmTJmnx4sVaunRpjd+3fPlyRUVFaf78+QoMDLSO92ncuLFMpl/uI/XUU0/pvvvu02uvvabw8HAlJyfrm2++0aJFi6zLiYmJ0fLly/X555+rWbNm1uWYTCY1btxYDg4OGj9+vF544QX5+vrKx8dHM2fOlJeXlyIiImrcLwDgxsAZo3rIzc1N6enpCgsL0+23364ZM2botdde08CBA/Xuu+/q5MmTuvPOOzV8+HA9+eSTvztu5y9/+YsmTJig2NhYdevWTRkZGZo5c2aNezGZTBo8eLCaNm1aq6CxaNEiVVRUKCYmRm3atLG+nnrqKWvN3XffreXLl2vRokUKCAjQxx9/rFWrVlkHVkvSggULVFJSovvvv99mOStWrLDWTJkyRU888YTGjh2rnj176vTp01q/fr0aNWpU434BADcGB4vFYrF3E9czs9ksk8mkkpKS8wYUnz17VkeOHLHemweXpl+/furUqZMSExPt3coVw7EB4LpyrZ/IYLNu+zyd4fd+f/8eLqXBbk6ePKnNmzdr8+bNeuutt+zdDgAABCPYzx133KGTJ0+e92wySerUqdNFB3G//fbbioyMvBYtAgDqGYIR7Obo0aMXnffFF1/YPFbk1357s0UAAK4UghGuS9V35AYA4FriW2kAAAAGgtEV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Wlqaunfvbu8WcYWsXr36vGnnzp3ThAkTFBISor/85S/W6b/+M+qOb775Ru+9956Sk5Pl6uqqqKgoRUdH68cff1RCQoLMZrO2bdtm7zavKwQjKCEh4XfnP/vss9eoE1wrhw8f1ksvvaTdu3fr9OnTuvPOOzV16lR16dLF3q3hCnJ0rNlFAQcHB1VWVl7lbnAtzZkzR0uWLNGBAwcUFham0aNHKywszOaY+PHHH9W+fXtu2fEbBCMAAOoYX19fjRo1So8//rjatGlzwZry8nJ9+OGHioqKusbdXd8IRrAqLy9XYWGhqqqqbKa3a9fOTh3haqmqqtKhQ4cuuL/vvfdeO3UFAPbH1/Whf//734qOjlZGRobNdIvFwin2Omjr1q0aNmyYfvjhB/3230Xs77rrySef1O23367Y2Fib6W+88YYOHTqkefPm2akzXC3/+7//q7fffluHDx/Wxx9/rD/96U/65z//KR8fH/Xp08fe7V23+FYaNHLkSDk6OiolJUXZ2dnasWOHduzYoZ07dzLwug7629/+ph49emjv3r0qKirSyZMnra+ioiJ7t4er5JNPPrngL8O7775bH3/8sR06wtX0ySefKDQ0VI0bN9bOnTtVVlYmSSopKdGLL75o5+6ub1xKg1xdXZWdna2OHTvauxVcA66urtq9e7duu+02e7eCa6hRo0bKycnRrbfeajP90KFD6ty5s86ePWunznA13HHHHZowYYJGjBihZs2aaffu3brlllu0c+dODRw4UPn5+fZu8brFGSPI399fP/30k73bwDUSGBioQ4cO2bsNXGO33Xab1q1bd970devW8UzEOujAgQMXHC9oMplUXFxsh45uHIwxqqfMZrP1zy+//LKmTJmiF198UV26dDnvPkZubm7Xuj1cRU888YSefvpp5efnX3B/d+3a1U6d4WqqfjTEiRMn1LdvX0nShg0b9NprrzG+qA7y9PTUoUOH1L59e5vpX3/9NUH4D3AprZ5ydHS0efxD9UDrX2Pwdd10oXvbODg4sL/rgQULFugf//iH8vLyJEnt27dXfHy8RowYYefOcKXNmjVLH3zwgd577z31799fX3zxhX744QdNmDBBM2fO1BNPPGHvFq9bBKN6Ki0trca1991331XsBNfaDz/88Lvzvb29r1EnsJcTJ06ocePGatq0qb1bwVVisVj04osvatasWdbHPbm4uGjSpEl6/vnn7dzd9Y1gBABAHVVeXq5Dhw7p9OnT8vf3JwzXAGOMIEkqLi7Wu+++q3379kmSOnXqpFGjRslkMtm5M1wt3333nXJzc1VeXm4znWdm1V0ff/yxPvroowvud27NUTc5OzvLzc1Nbm5uhKIa4ltp0DfffKNbb71Vc+fOVVFRkYqKijRnzhzdeuut/GVZB33//fcKCAhQ586dFR4eroiICEVEROjhhx/Www8/bO/2cJUkJiZq5MiRat26tXbu3Km77rpLLVu21Pfff6+BAwfauz1cYVVVVXruuedkMpnk7e0tb29vubu76/nnnz/vbvewxaU06J577tFtt92mxYsXy8npl5OIFRUVGj16tL7//nulp6fbuUNcSQ8++KAaNGigd955Rz4+Ptq2bZt+/vlnPf3003r11Vd1zz332LtFXAUdO3bUs88+q6FDh9rc1yYuLk5FRUV644037N0irqBp06bp3XffVUJCgnr37i3pl2+kxcfHa8yYMfrHP/5h5w6vXwQjWO+M+tsbPH733Xfq0aOHdeAe6oZWrVpp48aN6tq1q0wmk7Zt26YOHTpo48aNevrpp7Vz5057t4iroEmTJtq3b5+8vb3l4eGh1NRUBQQE6ODBg+rVq5d+/vlne7eIK8jLy0sLFy4879L4559/rr///e/6z3/+Y6fOrn9cSoPc3NyUm5t73vRjx46pWbNmdugIV1NlZaV1v7Zq1cr61W1vb28dOHDAnq3hKvL09LQ+8qVdu3baunWrJOnIkSPnPTMPN76ioqILPs2gY8eOPPrnDxCMoMcee0zR0dFasWKFjh07pmPHjik5OVmjR4/W0KFD7d0errDOnTtr9+7dkn65C/bs2bO1ZcsWPffcc9z4rQ7r27evVq9eLemX5yNOmDBB/fv312OPPaaIiAg7d4crLSAg4IKXR9944w0FBATYoaMbB5fSoPLyck2ePFkLFy5URUWFLBaLnJ2dNW7cOL300ktycXGxd4u4gr788kuVlpZq0KBBOnjwoB588EH9+9//VsuWLZWcnKx+/frZu0VcBVVVVaqqqrKOI0xOTlZGRoZ8fX31t7/97bw7oOPGlpaWpvDwcLVr105BQUGSpMzMTB07dkxffPEFYwl/B8EIVmfOnNHhw4clSbfeequaNGli545wrRQVFal58+bn3f0cN75+/fopJiZGgwYNuuD8n376SXfddZe+//77a9wZrra8vDy9+eab2r9/vyTJz89Pf//73+Xl5WXnzq5vBKN67GJ/Uf6ak5OTPD091b9/fz344IPXoCtcLezv+snR0VGOjo6aPn26EhISzptfUFAgLy8vHgVTRxCELx9jjOoxk8n0h6/GjRvr4MGDeuyxxxQXF2fvlnEZ2N/114IFCzRv3jw9/PDDKi0ttXc7uIo2bdqkv/71r3r22WcvOL+ysvIPHwtU33HGCDWSkpKiv//97xf89hrqHvZ33eHo6Kj8/Hz9/PPPeuihh+Ti4qLPP//cOtCeM0Z1i6Ojo95++21NmjRJffv21QcffCBXV1frfPb3H+OMEWqkT58+6tGjh73bwDXC/q57/Pz8tH37drVt21Y9e/bUv/71L3u3hKvkoYce0tatW5WTk6NevXpx2ayWCEaoEXd3d3366af2bgPXCPu7bjKZTFq7dq3GjBmjsLAwzZ07194t4SohCF86ghEA1GG//aahg4ODXnrpJS1dulQzZ87U6NGj7dQZrjaC8KVxsncDAICr52LDSIcMGaKOHTtyc8c65mJBuFu3bho9erQ2btxop85uHAQjAKjDNm3apBYtWlxwXrdu3ZSdna21a9de465wtRCELx/fSgMAoI5IS0tT7969rXc4/62ff/5Za9eu1YgRI65xZzcOghEAAICBwdcAAAAGghEAAP+/vbsHSW+P4zj+KWnRhrKhJwqpsKUHWmwKJBocGgpqCoRosYiWwjmCsoIcbLGpRAKJaCoJihAKosKlCIKiwi1pCpGslDv8z1+u3HunHv63eL+28/TV3/bmcPQABsIIAADAQBgBAAAYCCMAAAADYQQAAGAgjAB8S06nUxMTE/J6vbJaraqqqtL09HT+uN/vV2trqywWi+rq6jQ2NqZUKpU/vra2prKyMm1vb6u5uVlms1kDAwNKp9MKhUKy2WwqLy/XxMREwZvIM5mMpqamVFtbK4vFos7OTsVisS9cOYDPRBgB+LZCoZAsFotOTk60uLiomZkZ7e3tSZKKi4sVCAR0eXmpUCikg4MDeb3eguvT6bQCgYAikYh2d3cVi8XU39+vaDSqaDSqcDislZUVbW5u5q8ZHx/X8fGxIpGIzs/PNTg4KJfLpevr6y9dO4DPwR88AviWnE6nstmsDg8P8/scDoe6u7s1Pz//j/M3Nzfl8Xj0+Pgo6dcdo+HhYd3c3KixsVGS5PF4FA6H9fDwoNLSUkmSy+WSzWZTMBhUIpFQQ0ODEomEampq8rN7enrkcDg0Nzf3mUsG8AV4VxqAb6utra1gu7q6WslkUpK0v78vn8+nq6srPT096e3tTc/Pz0qn0zKbzZIks9mcjyJJqqyslM1my0fR732/Z15cXCibzcputxd8biaTUUVFxaesEcDXIowAfFslJSUF20VFRcrlcrq/v1dvb69GR0c1Ozsrq9Wqo6MjjYyM6OXlJR9G/3b9f82UpFQqJZPJpHg8LpPJVHDe32MKwPdFGAH4ceLxuHK5nJaWllRc/OtRyo2NjXfP7ejoUDabVTKZVFdX15rs2iAAAADHSURBVLvnAfj/4eFrAD9OU1OTXl9ftby8rNvbW4XDYQWDwXfPtdvtGhoaktvt1tbWlu7u7nR6eiqfz6ednZ0P+OYA/jTCCMCP097eLr/fr4WFBbW0tGh9fV0+n+9DZq+ursrtdmtyclLNzc3q6+vT2dmZ6uvrP2Q+gD+LX6UBAAAYuGMEAABgIIwAAAAMhBEAAICBMAIAADAQRgAAAAbCCAAAwEAYAQAAGAgjAAAAA2EEAABgIIwAAAAMhBEAAICBMAIAADD8BZHMFFe8xaijAAAAAElFTkSuQmCC",
      "text/plain": [
       "PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x131157d68>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "PyObject <matplotlib.axes._subplots.AxesSubplot object at 0x131165320>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@py df.loc[:, [\"salary_2000\": \"salary2020\"]].plot.bar(linestyle=\"--\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 0.6.0",
   "language": "julia",
   "name": "julia-0.6"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "0.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
